Study details

Authors

Scotland E. Farley, Frank Stein, Per Haberkant, Fikadu G. Tafesse, Carsten Schultz

Journal

Chemical Communications, Issue 52, 2024

https://doi.org/10.1039/D4CC00974F

Abstract

Functions of the sphingolipids sphingosine and sphinganine in cells are not well established. While some signaling roles for sphingosine have been elucidated, the closely related sphinganine has been described only insofar as it does not elicit many of the same signaling responses. The underlying mechanisms behind the cell biological differences between these lipids are not well understood. Here, we prepared multifunctionalized derivatives of the two lipid species that only differ in a single double bond of the carbon backbone. Using these novel probes, we were able to define their spatiotemporal distribution within cells. Furthermore, we used these tools to systematically map the protein interactomes of both lipids. The lipid-protein conjugates, prepared through photo-crosslinking in live cells and extraction via click chemistry to azide beads, revealed significant differences in the captured proteins, highlighting their distinct roles in various cellular processes. This work elucidates mechanistic differences between these critical lipids and sets the foundation for further studies on the functions of sphingosine and sphinganine.

Lipid probes utilized

Trifunctional 1-10 Fatty Acid Trifunctional 1-10 Fatty Acid

Trifunctional 8-3 Fatty Acid Trifunctional 8-3 Fatty Acide

Cell line analyzed

Huh7

Uncaging & Crosslinking timeline

Lipid Probe Uptake time Uncaging time Interaction time Crosslinking time
1-10 FA 60 min 5 min 60 min 5 min
8-3 FA 60 min 5 min 60 min 5 min
Mass spectrometry quantification method

16-channel Tandem Mass Tagging (TMT16)

Additional sample preparation ?

Data wrangling

Use the download button below to download the R script used to wrangle the authors’ original submission into the data visualization tools on the Lipid Interactome:

Use the download button below to download the original data file prior to wrangling:

document.addEventListener("DOMContentLoaded", function () { // Find both patterns const roots = document.querySelectorAll( '.callout-cell.collapsible, .cells[collapse="true"], .cells[data-collapse="true"], .cells.collapsible' ); roots.forEach(root => { if (root.dataset.collapsibleInit === "1") return; // avoid double init root.dataset.collapsibleInit = "1"; // 1) Find or create a header (prefer a direct child heading) let header = root.querySelector(':scope > .callout-header, :scope > .cells-header, :scope > h1, :scope > h2, :scope > h3, :scope > h4, :scope > h5, :scope > h6'); if (!header) { // fallback: use first element as header if available header = root.firstElementChild; if (!header) return; // nothing to do } // Normalize header class based on container type const isCells = root.classList.contains('cells'); header.classList.add(isCells ? 'cells-header' : 'callout-header'); // 2) Find or build the content wrapper let content = root.querySelector(':scope > .callout-content, :scope > .cells-container'); if (!content) { content = document.createElement('div'); content.className = isCells ? 'cells-container' : 'callout-content'; // Move all siblings after header into content let sib = header.nextSibling; while (sib) { const next = sib.nextSibling; content.appendChild(sib); sib = next; } root.appendChild(content); } // 3) A11y + initial state header.setAttribute('role', 'button'); header.setAttribute('tabindex', '0'); const startsOpen = root.classList.contains('open') || root.getAttribute('open') === 'true' || root.getAttribute('data-open') === 'true'; const setOpen = (open) => { content.style.display = open ? '' : 'none'; root.classList.toggle('open', open); header.setAttribute('aria-expanded', String(open)); }; setOpen(!!startsOpen); // 4) Toggle handlers (click + keyboard) const toggle = () => setOpen(content.style.display === 'none'); header.addEventListener('click', toggle); header.addEventListener('keydown', (e) => { if (e.key === 'Enter' || e.key === ' ') { e.preventDefault(); toggle(); } }); }); });